0.1 Summary

This file explores the payment proportions for joint ventures based on charts the Alex Malden made for Nigeria. The JVs were identified based on name matches (so only those that had matching names were identified). Several projects had general names like “Alberta” or “British Columbia” these were taken out from the JV file (however, some of these might still be non-specific project names that are not JVs). Note that the names in the dataset are often different from those in the actual filed reports because they were manually reconciled (thanks to Elliot Tan!).

rm(list = ls())
library(tidyverse); library(ggthemes); library(viridis)
jvProjects <- read_csv("Temp Data/JV Data/jv.csv") %>% 
    select(projectCountry, projectName, reportingCompany, paymentType, projectPayment, proportionPay) %>% 
    gather(key = "valueType", value = "value", projectPayment, proportionPay) %>% 
    mutate(valueType = factor(valueType, levels = c("proportionPay", "projectPayment"), labels = c("Payment Proportion", "Actual Payment (in USD)"))) %>% 
    arrange(projectCountry, projectName, reportingCompany)

The charts below compare the payments made by joint venture partners. Ideally JV partners should have similar payment type profiles i.e the proportions by payment type should look the similar.

jvNames <- jvProjects %>% 
    distinct(projectCountry, projectName) %>% 
    arrange(projectCountry, projectName)
plotList <- vector("list", length(jvNames$projectName)) 
for(i in 1:length(jvNames$projectName)){
    chartData <- jvProjects %>% 
      filter(projectName == jvNames$projectName[i])
    
    titleName <- paste0(jvNames$projectName[i], ", ", jvNames$projectCountry[i])
    
    plotList[[i]] <- ggplot(chartData, aes(y = value, x = reportingCompany, fill = factor(paymentType))) + 
              geom_bar(stat = "identity", position = "stack") + 
              coord_flip() +
              facet_wrap(~valueType, scales = "free_x") +
              theme_tufte() +
              labs(title = titleName,
                   x = "Reporting Company") +
              scale_fill_viridis(discrete = T) +
              theme(
                  legend.position = "top",
                  legend.title = element_blank(),
                  axis.title.x = element_blank()
                  )
}
for(i in 1:length(plotList)){
    print(plotList[[i]])
}

LS0tCnRpdGxlOiAiSm9pbnQgVmVudHVyZXMgU3RhcnRlciBQaWVjZSIKYXV0aG9yOiAiSFMiCm91dHB1dDogCiAgaHRtbF9ub3RlYm9vazoKICAgIG51bWJlcl9zZWN0aW9uczogeWVzCiAgICB0b2M6IHRydWUKICAgIHRvY19kZXB0aDogMwogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICB0aGVtZTogY29zbW8KICAgIGhpZ2hsaWdodDoga2F0ZQogICAgc21hcnQ6IHRydWUKICAgIGNvZGVfZm9sZGluZzogaGlkZQpkYXRlOiAnYHIgU3lzLkRhdGUoKWAnCi0tLQoKIyNTdW1tYXJ5ClRoaXMgZmlsZSBleHBsb3JlcyB0aGUgcGF5bWVudCBwcm9wb3J0aW9ucyBmb3Igam9pbnQgdmVudHVyZXMgYmFzZWQgb24gY2hhcnRzIHRoZSBBbGV4IE1hbGRlbiBtYWRlIGZvciBOaWdlcmlhLiBUaGUgSlZzIHdlcmUgaWRlbnRpZmllZCBiYXNlZCBvbiBuYW1lIG1hdGNoZXMgKHNvIG9ubHkgdGhvc2UgdGhhdCBoYWQgbWF0Y2hpbmcgbmFtZXMgd2VyZSBpZGVudGlmaWVkKS4gU2V2ZXJhbCBwcm9qZWN0cyBoYWQgZ2VuZXJhbCBuYW1lcyBsaWtlICJBbGJlcnRhIiBvciAiQnJpdGlzaCBDb2x1bWJpYSIgdGhlc2Ugd2VyZSB0YWtlbiBvdXQgZnJvbSB0aGUgSlYgZmlsZSAoaG93ZXZlciwgc29tZSBvZiB0aGVzZSBtaWdodCBzdGlsbCBiZSBub24tc3BlY2lmaWMgcHJvamVjdCBuYW1lcyB0aGF0IGFyZSBub3QgSlZzKS4gTm90ZSB0aGF0IHRoZSBuYW1lcyBpbiB0aGUgZGF0YXNldCBhcmUgb2Z0ZW4gZGlmZmVyZW50IGZyb20gdGhvc2UgaW4gdGhlIGFjdHVhbCBmaWxlZCByZXBvcnRzIGJlY2F1c2UgdGhleSB3ZXJlIG1hbnVhbGx5IHJlY29uY2lsZWQgKHRoYW5rcyB0byBFbGxpb3QgVGFuISkuCgpgYGB7ciwgZXJyb3I9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIHJlc3VsdHM9J2hpZGUnfQpybShsaXN0ID0gbHMoKSkKbGlicmFyeSh0aWR5dmVyc2UpOyBsaWJyYXJ5KGdndGhlbWVzKTsgbGlicmFyeSh2aXJpZGlzKQoKanZQcm9qZWN0cyA8LSByZWFkX2NzdigiVGVtcCBEYXRhL0pWIERhdGEvanYuY3N2IikgJT4lIAogICAgc2VsZWN0KHByb2plY3RDb3VudHJ5LCBwcm9qZWN0TmFtZSwgcmVwb3J0aW5nQ29tcGFueSwgcGF5bWVudFR5cGUsIHByb2plY3RQYXltZW50LCBwcm9wb3J0aW9uUGF5KSAlPiUgCiAgICBnYXRoZXIoa2V5ID0gInZhbHVlVHlwZSIsIHZhbHVlID0gInZhbHVlIiwgcHJvamVjdFBheW1lbnQsIHByb3BvcnRpb25QYXkpICU+JSAKICAgIG11dGF0ZSh2YWx1ZVR5cGUgPSBmYWN0b3IodmFsdWVUeXBlLCBsZXZlbHMgPSBjKCJwcm9wb3J0aW9uUGF5IiwgInByb2plY3RQYXltZW50IiksIGxhYmVscyA9IGMoIlBheW1lbnQgUHJvcG9ydGlvbiIsICJBY3R1YWwgUGF5bWVudCAoaW4gVVNEKSIpKSkgJT4lIAogICAgYXJyYW5nZShwcm9qZWN0Q291bnRyeSwgcHJvamVjdE5hbWUsIHJlcG9ydGluZ0NvbXBhbnkpCgpgYGAKClRoZSBjaGFydHMgYmVsb3cgY29tcGFyZSB0aGUgcGF5bWVudHMgbWFkZSBieSBqb2ludCB2ZW50dXJlIHBhcnRuZXJzLiBJZGVhbGx5IEpWIHBhcnRuZXJzIHNob3VsZCBoYXZlIHNpbWlsYXIgcGF5bWVudCB0eXBlIHByb2ZpbGVzIGkuZSB0aGUgcHJvcG9ydGlvbnMgYnkgcGF5bWVudCB0eXBlIHNob3VsZCBsb29rIHRoZSBzaW1pbGFyLgpgYGB7cn0KanZOYW1lcyA8LSBqdlByb2plY3RzICU+JSAKICAgIGRpc3RpbmN0KHByb2plY3RDb3VudHJ5LCBwcm9qZWN0TmFtZSkgJT4lIAogICAgYXJyYW5nZShwcm9qZWN0Q291bnRyeSwgcHJvamVjdE5hbWUpCnBsb3RMaXN0IDwtIHZlY3RvcigibGlzdCIsIGxlbmd0aChqdk5hbWVzJHByb2plY3ROYW1lKSkgCgpmb3IoaSBpbiAxOmxlbmd0aChqdk5hbWVzJHByb2plY3ROYW1lKSl7CiAgICBjaGFydERhdGEgPC0ganZQcm9qZWN0cyAlPiUgCiAgICAgIGZpbHRlcihwcm9qZWN0TmFtZSA9PSBqdk5hbWVzJHByb2plY3ROYW1lW2ldKQogICAgCiAgICB0aXRsZU5hbWUgPC0gcGFzdGUwKGp2TmFtZXMkcHJvamVjdE5hbWVbaV0sICIsICIsIGp2TmFtZXMkcHJvamVjdENvdW50cnlbaV0pCiAgICAKICAgIHBsb3RMaXN0W1tpXV0gPC0gZ2dwbG90KGNoYXJ0RGF0YSwgYWVzKHkgPSB2YWx1ZSwgeCA9IHJlcG9ydGluZ0NvbXBhbnksIGZpbGwgPSBmYWN0b3IocGF5bWVudFR5cGUpKSkgKyAKICAgICAgICAgICAgICBnZW9tX2JhcihzdGF0ID0gImlkZW50aXR5IiwgcG9zaXRpb24gPSAic3RhY2siKSArIAogICAgICAgICAgICAgIGNvb3JkX2ZsaXAoKSArCiAgICAgICAgICAgICAgZmFjZXRfd3JhcCh+dmFsdWVUeXBlLCBzY2FsZXMgPSAiZnJlZV94IikgKwogICAgICAgICAgICAgIHRoZW1lX3R1ZnRlKCkgKwogICAgICAgICAgICAgIGxhYnModGl0bGUgPSB0aXRsZU5hbWUsCiAgICAgICAgICAgICAgICAgICB4ID0gIlJlcG9ydGluZyBDb21wYW55IikgKwogICAgICAgICAgICAgIHNjYWxlX2ZpbGxfdmlyaWRpcyhkaXNjcmV0ZSA9IFQpICsKICAgICAgICAgICAgICB0aGVtZSgKICAgICAgICAgICAgICAgICAgbGVnZW5kLnBvc2l0aW9uID0gInRvcCIsCiAgICAgICAgICAgICAgICAgIGxlZ2VuZC50aXRsZSA9IGVsZW1lbnRfYmxhbmsoKSwKICAgICAgICAgICAgICAgICAgYXhpcy50aXRsZS54ID0gZWxlbWVudF9ibGFuaygpCiAgICAgICAgICAgICAgICAgICkKfQoKZm9yKGkgaW4gMTpsZW5ndGgocGxvdExpc3QpKXsKICAgIHByaW50KHBsb3RMaXN0W1tpXV0pCn0KCmBgYAoK